#include "gtest/gtest.h"
#include "../../src/invoke/invoke.h"


namespace unittest {

class InvokeTest : public ::testing::Test {
protected:
    InvokeTest() {
        // You can do set-up work for each test here.
    }

    ~InvokeTest() override {
        // You can do clean-up work that doesn't throw exceptions here.
    }

    // If the constructor and destructor are not enough for setting up
    // and cleaning up each test, you can define the following methods:

    void SetUp() override {
        // Code here will be called immediately after the constructor (right
        // before each test).
    }

    void TearDown() override {
        // Code here will be called immediately after each test (right
        // before the destructor).
    }
};

TEST(InvokeTest, thisShouldFail) {
    Invoke tmp;
    auto c = tmp.getContent();
    EXPECT_EQ(c, "thisShouldFail");
}

TEST(InvokeTest, thisShouldPass) {
    Invoke tmp;
    auto c = tmp.getContent();
    EXPECT_EQ(c, "alwaysSame");
}

} // namespace unittest